package top.lucky.thread.test;

/**
 * @author Jane
 * @date 2022/8/17, 11:11
 */
public class JoinTest2 extends Thread{

    // 1.现在有T1、T2、T3三个线程，你怎样保证T2在T1执行完后执行，T3在T2执行完后执行
    public static void main(String[] args) throws Exception {
        //final Thread t1 = new Thread(new Runnable() {
        //    @Override
        //    public void run() {
        //        System.out.println("t1");
        //    }
        //});
        //final Thread t2 = new Thread(new Runnable() {
        //    @Override
        //    public void run() {
        //        try {
        //            // 引用t1线程，等待t1线程执行完
        //            t1.join();
        //        } catch (InterruptedException e) {
        //            e.printStackTrace();
        //        }
        //        System.out.println("t2");
        //    }
        //});
        //Thread t3 = new Thread(new Runnable() {
        //    @Override
        //    public void run() {
        //        try {
        //            // 引用t2线程，等待t2线程执行完
        //            t2.join();
        //        } catch (InterruptedException e) {
        //            e.printStackTrace();
        //        }
        //        System.out.println("t3");
        //    }
        //});
        //t3.start();//这里三个线程的启动顺序可以任意，大家可以试下！
        //t2.start();
        //t1.start();
        Test test = new Test();
        test.call();
        long l = System.currentTimeMillis();
        System.out.println("等待开始" + l);

        Test1 test1 = new Test1();
        test1.run();
        long l1 = System.currentTimeMillis();
        System.out.println("等待结束" + l1);
        System.out.println(l1 - l);
    }
}

